{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import re\n",
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def remove_space(string, threshold = 0.3):\n",
    "    string = [s for s in string if not (s == ' ' and random.random() >= threshold)]\n",
    "    return ''.join(string)\n",
    "\n",
    "def package(string, repeat = 2):\n",
    "    result = [(string, string)]\n",
    "    result.append((string.lower(), string.lower()))\n",
    "    \n",
    "    for _ in range(repeat):\n",
    "        result.append((remove_space(string), string))\n",
    "        result.append((remove_space(string.lower()), string.lower()))\n",
    "        \n",
    "    return result\n",
    "\n",
    "from tqdm import tqdm\n",
    "\n",
    "def loop(strings):\n",
    "    results = []\n",
    "    for i in tqdm(range(len(strings))):\n",
    "        p = package(strings[i])\n",
    "        results.extend(p)\n",
    "    return results\n",
    "\n",
    "def slide(strings, n = 5):\n",
    "    result = []\n",
    "    for i in range(0, len(strings), len(strings) - (n - 1)):\n",
    "        result.append(strings[i: i + n])\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "files = ['../pure-text/filtered-dumping-wiki.txt',\n",
    "        '../pure-text/dumping-cleaned-news.txt',\n",
    "        '../pure-text/dumping-iium.txt']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "363578"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with open(files[0]) as fopen:\n",
    "    data = fopen.read().split('\\n')\n",
    "    \n",
    "results, result = [], []\n",
    "for i in data:\n",
    "    if len(i) and i[-1] != '.':\n",
    "        i = i + '.'\n",
    "    if not len(i) and len(result):\n",
    "        results.append(result)\n",
    "        result = []\n",
    "    else:\n",
    "        if len(i):\n",
    "            result.append(i)\n",
    "        \n",
    "if len(result):\n",
    "    results.append(result)\n",
    "    \n",
    "len(results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from tqdm import tqdm\n",
    "\n",
    "def loop(strings):\n",
    "    results = []\n",
    "    for i in tqdm(range(len(strings))):\n",
    "        try:\n",
    "            slided = slide(strings[i])\n",
    "            slided = [s for s in slided if len(s) > 1]\n",
    "            for s in slided:\n",
    "                s = ' '.join(s)\n",
    "                p = package(s)\n",
    "                results.extend(p)\n",
    "        except:\n",
    "            pass\n",
    "    return results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 1875/1875 [00:00<00:00, 7932.20it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 7477.97it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 7544.74it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 9422.84it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 7624.26it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 8702.24it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 8345.66it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 5933.11it/s]\n",
      "\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 8846.25it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 8666.02it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 8162.87it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 8459.54it/s]\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 8088.39it/s]\n",
      "\n",
      "100%|██████████| 1875/1875 [00:00<00:00, 6403.22it/s]\n"
     ]
    }
   ],
   "source": [
    "import cleaning\n",
    "\n",
    "results1 = cleaning.multiprocessing(random.sample(results, 30000), loop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "119682"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(results1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('Haldaur ialah sebuah perbandaran (\"minicipal board\") dalam daerah Bijnor di negeri Uttar Pradesh, India. Menurut bancian India pada tahun 2001, Haldaur memiliki bilangan penduduk seramai 17,894. Dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. Menurut bancian India pada tahun 2001 Haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.',\n",
       "  'Haldaur ialah sebuah perbandaran (\"minicipal board\") dalam daerah Bijnor di negeri Uttar Pradesh, India. Menurut bancian India pada tahun 2001, Haldaur memiliki bilangan penduduk seramai 17,894. Dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. Menurut bancian India pada tahun 2001 Haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('haldaur ialah sebuah perbandaran (\"minicipal board\") dalam daerah bijnor di negeri uttar pradesh, india. menurut bancian india pada tahun 2001, haldaur memiliki bilangan penduduk seramai 17,894. dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. menurut bancian india pada tahun 2001 haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.',\n",
       "  'haldaur ialah sebuah perbandaran (\"minicipal board\") dalam daerah bijnor di negeri uttar pradesh, india. menurut bancian india pada tahun 2001, haldaur memiliki bilangan penduduk seramai 17,894. dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. menurut bancian india pada tahun 2001 haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('Haldaur ialahsebuahperbandaran (\"minicipal board\")dalamdaerahBijnordinegeriUttarPradesh,India. Menurut bancian Indiapada tahun2001,Haldaur memiliki bilanganpenduduk seramai17,894.Darijumlah tersebut, kaumlelakimembentuk53% dari jumlah keseluruhanpopulasidan wanitaseramai47%.MenurutbancianIndia padatahun2001Haldaurmemilikikadarpendidikan(kebolehanmembaca)61%, melebihi kadarpurata kebangsaan 59.5%; dengan59% lelakidan 41%wanitamampu membaca.15%daripopulasiberusiadibawah 6 tahun.',\n",
       "  'Haldaur ialah sebuah perbandaran (\"minicipal board\") dalam daerah Bijnor di negeri Uttar Pradesh, India. Menurut bancian India pada tahun 2001, Haldaur memiliki bilangan penduduk seramai 17,894. Dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. Menurut bancian India pada tahun 2001 Haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('haldaurialahsebuahperbandaran(\"minicipalboard\") dalamdaerah bijnordinegeriuttar pradesh,india.menurut bancian indiapadatahun2001,haldaur memilikibilanganpenduduk seramai17,894.dari jumlah tersebut,kaum lelakimembentuk53%darijumlah keseluruhanpopulasidanwanita seramai 47%. menurut bancianindiapadatahun2001haldaur memilikikadarpendidikan(kebolehan membaca) 61%,melebihi kadarpurata kebangsaan59.5%;dengan 59%lelakidan41%wanitamampumembaca. 15%daripopulasiberusia dibawah6tahun.',\n",
       "  'haldaur ialah sebuah perbandaran (\"minicipal board\") dalam daerah bijnor di negeri uttar pradesh, india. menurut bancian india pada tahun 2001, haldaur memiliki bilangan penduduk seramai 17,894. dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. menurut bancian india pada tahun 2001 haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('Haldaur ialahsebuahperbandaran(\"minicipalboard\")dalamdaerahBijnor di negeriUttarPradesh, India.MenurutbancianIndia padatahun2001,Haldaurmemilikibilanganpendudukseramai17,894.Darijumlahtersebut, kaumlelakimembentuk 53% darijumlahkeseluruhanpopulasi dan wanitaseramai 47%.Menurutbancian India padatahun 2001 Haldaurmemilikikadar pendidikan(kebolehanmembaca)61%,melebihikadar purata kebangsaan59.5%;dengan59% lelakidan 41%wanitamampumembaca.15% daripopulasiberusiadibawah 6tahun.',\n",
       "  'Haldaur ialah sebuah perbandaran (\"minicipal board\") dalam daerah Bijnor di negeri Uttar Pradesh, India. Menurut bancian India pada tahun 2001, Haldaur memiliki bilangan penduduk seramai 17,894. Dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. Menurut bancian India pada tahun 2001 Haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('haldaurialahsebuahperbandaran (\"minicipal board\") dalamdaerahbijnordinegeriuttarpradesh,india. menurut bancianindiapada tahun2001, haldaur memilikibilanganpenduduk seramai17,894. darijumlahtersebut, kaumlelakimembentuk 53% dari jumlah keseluruhanpopulasidan wanitaseramai47%.menurut bancian indiapadatahun 2001 haldaur memiliki kadarpendidikan(kebolehan membaca) 61%,melebihikadarpuratakebangsaan59.5%; dengan 59%lelaki dan41%wanitamampumembaca. 15% daripopulasiberusiadi bawah6 tahun.',\n",
       "  'haldaur ialah sebuah perbandaran (\"minicipal board\") dalam daerah bijnor di negeri uttar pradesh, india. menurut bancian india pada tahun 2001, haldaur memiliki bilangan penduduk seramai 17,894. dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. menurut bancian india pada tahun 2001 haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('Menurut bancian India pada tahun 2001, Haldaur memiliki bilangan penduduk seramai 17,894. Dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. Menurut bancian India pada tahun 2001 Haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.',\n",
       "  'Menurut bancian India pada tahun 2001, Haldaur memiliki bilangan penduduk seramai 17,894. Dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. Menurut bancian India pada tahun 2001 Haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('menurut bancian india pada tahun 2001, haldaur memiliki bilangan penduduk seramai 17,894. dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. menurut bancian india pada tahun 2001 haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.',\n",
       "  'menurut bancian india pada tahun 2001, haldaur memiliki bilangan penduduk seramai 17,894. dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. menurut bancian india pada tahun 2001 haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('MenurutbancianIndiapadatahun2001,Haldaurmemilikibilangan pendudukseramai 17,894. Darijumlah tersebut, kaumlelaki membentuk53%darijumlahkeseluruhanpopulasidan wanitaseramai47%.Menurutbancian Indiapadatahun2001Haldaurmemiliki kadarpendidikan(kebolehan membaca) 61%, melebihikadarpuratakebangsaan59.5%;dengan 59%lelakidan41%wanitamampumembaca.15%dari populasiberusiadibawah 6tahun.',\n",
       "  'Menurut bancian India pada tahun 2001, Haldaur memiliki bilangan penduduk seramai 17,894. Dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. Menurut bancian India pada tahun 2001 Haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.'),\n",
       " ('menurutbancian indiapada tahun 2001, haldaur memilikibilangan pendudukseramai17,894. darijumlahtersebut,kaum lelakimembentuk 53%darijumlah keseluruhanpopulasidanwanitaseramai 47%. menurutbancianindia padatahun2001 haldaurmemiliki kadarpendidikan(kebolehanmembaca)61%, melebihikadar puratakebangsaan59.5%; dengan59%lelakidan41%wanitamampumembaca. 15%daripopulasiberusiadibawah 6tahun.',\n",
       "  'menurut bancian india pada tahun 2001, haldaur memiliki bilangan penduduk seramai 17,894. dari jumlah tersebut, kaum lelaki membentuk 53% dari jumlah keseluruhan populasi dan wanita seramai 47%. menurut bancian india pada tahun 2001 haldaur memiliki kadar pendidikan (kebolehan membaca) 61%, melebihi kadar purata kebangsaan 59.5%; dengan 59% lelaki dan 41% wanita mampu membaca. 15% dari populasi berusia di bawah 6 tahun.')]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results1[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "\n",
    "with open('segmentation-wiki.json', 'w') as fopen:\n",
    "    json.dump(results1, fopen)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3656919"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "with open(files[1]) as fopen:\n",
    "    data = fopen.read().split('\\n')\n",
    "    \n",
    "len(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "results, result = [], []\n",
    "for i in data:\n",
    "    if len(i) and i[-1] != '.':\n",
    "        i = i + '.'\n",
    "    if not len(i) and len(result):\n",
    "        results.append(result)\n",
    "        result = []\n",
    "    else:\n",
    "        if len(i):\n",
    "            result.append(i)\n",
    "        \n",
    "if len(result):\n",
    "    results.append(result)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "173012"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "results = random.sample(results, 20000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 1250/1250 [00:00<00:00, 2413.44it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2004.88it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2497.28it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2108.12it/s]\n",
      " 88%|████████▊ | 1098/1250 [00:00<00:00, 2654.49it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2403.25it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2766.13it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2348.88it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2737.65it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2855.65it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2917.02it/s]\n",
      " 66%|██████▌   | 823/1250 [00:00<00:00, 2065.46it/s]]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2499.08it/s]\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2252.76it/s]\n",
      "\n",
      "100%|██████████| 1250/1250 [00:00<00:00, 2149.55it/s]\n"
     ]
    }
   ],
   "source": [
    "results1 = cleaning.multiprocessing(results, loop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "233550"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(results1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('Dalih Enggar Soal Suap Impor Bawang & Celah Korupsi Sektor Pangan. OTT KPK terkait suap impor bawang putih menambah daftar panjang kasus korupsi di sektor pangan. Mengapa hal ini selalu terjadi?. \"Tim KPK mengamankan bukti transfer sekitar Rp2 miliar. Selain itu dari orang kepercayaan anggota DPR RI ditemukan sejumlah mata uang asing berupa dolar AS yang masih dalam proses perhitungan dan penelusuran,\" kata Ketua KPK Agus Rahardjo, pada Kamis (8/8/2019).',\n",
       "  'Dalih Enggar Soal Suap Impor Bawang & Celah Korupsi Sektor Pangan. OTT KPK terkait suap impor bawang putih menambah daftar panjang kasus korupsi di sektor pangan. Mengapa hal ini selalu terjadi?. \"Tim KPK mengamankan bukti transfer sekitar Rp2 miliar. Selain itu dari orang kepercayaan anggota DPR RI ditemukan sejumlah mata uang asing berupa dolar AS yang masih dalam proses perhitungan dan penelusuran,\" kata Ketua KPK Agus Rahardjo, pada Kamis (8/8/2019).'),\n",
       " ('dalih enggar soal suap impor bawang & celah korupsi sektor pangan. ott kpk terkait suap impor bawang putih menambah daftar panjang kasus korupsi di sektor pangan. mengapa hal ini selalu terjadi?. \"tim kpk mengamankan bukti transfer sekitar rp2 miliar. selain itu dari orang kepercayaan anggota dpr ri ditemukan sejumlah mata uang asing berupa dolar as yang masih dalam proses perhitungan dan penelusuran,\" kata ketua kpk agus rahardjo, pada kamis (8/8/2019).',\n",
       "  'dalih enggar soal suap impor bawang & celah korupsi sektor pangan. ott kpk terkait suap impor bawang putih menambah daftar panjang kasus korupsi di sektor pangan. mengapa hal ini selalu terjadi?. \"tim kpk mengamankan bukti transfer sekitar rp2 miliar. selain itu dari orang kepercayaan anggota dpr ri ditemukan sejumlah mata uang asing berupa dolar as yang masih dalam proses perhitungan dan penelusuran,\" kata ketua kpk agus rahardjo, pada kamis (8/8/2019).'),\n",
       " ('DalihEnggar SoalSuapImpor Bawang& CelahKorupsi SektorPangan.OTTKPKterkait suapimporbawang putihmenambahdaftarpanjangkasus korupsidisektorpangan.Mengapahalini selaluterjadi?. \"TimKPK mengamankanbuktitransfersekitar Rp2miliar. Selain itudari orangkepercayaananggotaDPRRI ditemukan sejumlahmatauang asingberupadolar AS yangmasihdalam prosesperhitungandanpenelusuran,\" kata Ketua KPKAgusRahardjo,padaKamis (8/8/2019).',\n",
       "  'Dalih Enggar Soal Suap Impor Bawang & Celah Korupsi Sektor Pangan. OTT KPK terkait suap impor bawang putih menambah daftar panjang kasus korupsi di sektor pangan. Mengapa hal ini selalu terjadi?. \"Tim KPK mengamankan bukti transfer sekitar Rp2 miliar. Selain itu dari orang kepercayaan anggota DPR RI ditemukan sejumlah mata uang asing berupa dolar AS yang masih dalam proses perhitungan dan penelusuran,\" kata Ketua KPK Agus Rahardjo, pada Kamis (8/8/2019).'),\n",
       " ('dalihenggarsoalsuap imporbawang&celahkorupsisektor pangan.ott kpkterkait suap impor bawangputih menambahdaftar panjangkasuskorupsidisektorpangan. mengapahaliniselalu terjadi?.\"timkpkmengamankanbuktitransfersekitarrp2miliar.selain itudari orangkepercayaan anggotadprriditemukan sejumlah mata uang asingberupadolarasyangmasihdalamprosesperhitungandanpenelusuran,\"kataketua kpk agus rahardjo,pada kamis(8/8/2019).',\n",
       "  'dalih enggar soal suap impor bawang & celah korupsi sektor pangan. ott kpk terkait suap impor bawang putih menambah daftar panjang kasus korupsi di sektor pangan. mengapa hal ini selalu terjadi?. \"tim kpk mengamankan bukti transfer sekitar rp2 miliar. selain itu dari orang kepercayaan anggota dpr ri ditemukan sejumlah mata uang asing berupa dolar as yang masih dalam proses perhitungan dan penelusuran,\" kata ketua kpk agus rahardjo, pada kamis (8/8/2019).'),\n",
       " ('DalihEnggar SoalSuapImporBawang&CelahKorupsi SektorPangan.OTTKPK terkaitsuap impor bawang putihmenambahdaftarpanjangkasuskorupsidisektor pangan.Mengapahal ini selaluterjadi?.\"Tim KPKmengamankanbuktitransfersekitar Rp2 miliar.Selain itudari orangkepercayaananggotaDPRRIditemukan sejumlah mata uangasingberupa dolar ASyang masihdalamprosesperhitungan danpenelusuran,\" kata Ketua KPKAgusRahardjo,pada Kamis(8/8/2019).',\n",
       "  'Dalih Enggar Soal Suap Impor Bawang & Celah Korupsi Sektor Pangan. OTT KPK terkait suap impor bawang putih menambah daftar panjang kasus korupsi di sektor pangan. Mengapa hal ini selalu terjadi?. \"Tim KPK mengamankan bukti transfer sekitar Rp2 miliar. Selain itu dari orang kepercayaan anggota DPR RI ditemukan sejumlah mata uang asing berupa dolar AS yang masih dalam proses perhitungan dan penelusuran,\" kata Ketua KPK Agus Rahardjo, pada Kamis (8/8/2019).'),\n",
       " ('dalihenggar soalsuap imporbawang &celahkorupsi sektorpangan. ottkpkterkaitsuapimporbawangputihmenambahdaftarpanjangkasus korupsidisektorpangan.mengapa haliniselalu terjadi?. \"timkpkmengamankan bukti transfersekitarrp2miliar.selainitudariorangkepercayaan anggota dpr riditemukan sejumlahmatauang asingberupadolarasyangmasihdalam prosesperhitungandan penelusuran,\"kataketua kpkagusrahardjo,pada kamis (8/8/2019).',\n",
       "  'dalih enggar soal suap impor bawang & celah korupsi sektor pangan. ott kpk terkait suap impor bawang putih menambah daftar panjang kasus korupsi di sektor pangan. mengapa hal ini selalu terjadi?. \"tim kpk mengamankan bukti transfer sekitar rp2 miliar. selain itu dari orang kepercayaan anggota dpr ri ditemukan sejumlah mata uang asing berupa dolar as yang masih dalam proses perhitungan dan penelusuran,\" kata ketua kpk agus rahardjo, pada kamis (8/8/2019).'),\n",
       " ('ujarnya saat ditemui di Hotel Borobudur, Jakarta Pusat, Jumat (9/8/2019). Lantaran itu, ia menyesalkan tindakan sejumlah importir serta adanya keterlibatan anggota Komisi VI DPR RI dalam kasus ini. Sebab, kata dia, rekomendasi impor bawang putih memiliki persyaratan yang tidak terlalu sulit, sehingga bisa diurus dengan mudah jika importir mengikuti segala ketentuan yang berlaku. Meski mengaku belum mengetahui secara detail dan bagaimana perkembangan kasus tersebut, ia juga memastikan bahwa perusahaan yang terlibat bakal masukdari direktori importir.',\n",
       "  'ujarnya saat ditemui di Hotel Borobudur, Jakarta Pusat, Jumat (9/8/2019). Lantaran itu, ia menyesalkan tindakan sejumlah importir serta adanya keterlibatan anggota Komisi VI DPR RI dalam kasus ini. Sebab, kata dia, rekomendasi impor bawang putih memiliki persyaratan yang tidak terlalu sulit, sehingga bisa diurus dengan mudah jika importir mengikuti segala ketentuan yang berlaku. Meski mengaku belum mengetahui secara detail dan bagaimana perkembangan kasus tersebut, ia juga memastikan bahwa perusahaan yang terlibat bakal masukdari direktori importir.'),\n",
       " ('ujarnya saat ditemui di hotel borobudur, jakarta pusat, jumat (9/8/2019). lantaran itu, ia menyesalkan tindakan sejumlah importir serta adanya keterlibatan anggota komisi vi dpr ri dalam kasus ini. sebab, kata dia, rekomendasi impor bawang putih memiliki persyaratan yang tidak terlalu sulit, sehingga bisa diurus dengan mudah jika importir mengikuti segala ketentuan yang berlaku. meski mengaku belum mengetahui secara detail dan bagaimana perkembangan kasus tersebut, ia juga memastikan bahwa perusahaan yang terlibat bakal masukdari direktori importir.',\n",
       "  'ujarnya saat ditemui di hotel borobudur, jakarta pusat, jumat (9/8/2019). lantaran itu, ia menyesalkan tindakan sejumlah importir serta adanya keterlibatan anggota komisi vi dpr ri dalam kasus ini. sebab, kata dia, rekomendasi impor bawang putih memiliki persyaratan yang tidak terlalu sulit, sehingga bisa diurus dengan mudah jika importir mengikuti segala ketentuan yang berlaku. meski mengaku belum mengetahui secara detail dan bagaimana perkembangan kasus tersebut, ia juga memastikan bahwa perusahaan yang terlibat bakal masukdari direktori importir.'),\n",
       " ('ujarnya saatditemui di HotelBorobudur,JakartaPusat,Jumat(9/8/2019).Lantaran itu,iamenyesalkantindakansejumlahimportirsertaadanyaketerlibatananggotaKomisi VIDPRRIdalam kasusini. Sebab, kata dia, rekomendasiimporbawangputihmemilikipersyaratanyang tidakterlalusulit,sehinggabisadiurusdengan mudahjikaimportir mengikuti segalaketentuanyangberlaku.Meskimengakubelummengetahui secara detaildanbagaimanaperkembangankasus tersebut, iajugamemastikan bahwa perusahaanyangterlibat bakalmasukdaridirektori importir.',\n",
       "  'ujarnya saat ditemui di Hotel Borobudur, Jakarta Pusat, Jumat (9/8/2019). Lantaran itu, ia menyesalkan tindakan sejumlah importir serta adanya keterlibatan anggota Komisi VI DPR RI dalam kasus ini. Sebab, kata dia, rekomendasi impor bawang putih memiliki persyaratan yang tidak terlalu sulit, sehingga bisa diurus dengan mudah jika importir mengikuti segala ketentuan yang berlaku. Meski mengaku belum mengetahui secara detail dan bagaimana perkembangan kasus tersebut, ia juga memastikan bahwa perusahaan yang terlibat bakal masukdari direktori importir.'),\n",
       " ('ujarnya saatditemuidihotelborobudur,jakarta pusat, jumat(9/8/2019).lantaranitu, iamenyesalkantindakansejumlahimportir sertaadanya keterlibatan anggotakomisivi dprri dalamkasusini.sebab, katadia, rekomendasiimpor bawangputihmemiliki persyaratanyangtidakterlalusulit,sehinggabisadiurusdengan mudah jikaimportir mengikutisegalaketentuanyangberlaku.meski mengakubelum mengetahui secara detaildan bagaimana perkembangankasustersebut,iajugamemastikanbahwaperusahaanyang terlibat bakalmasukdaridirektoriimportir.',\n",
       "  'ujarnya saat ditemui di hotel borobudur, jakarta pusat, jumat (9/8/2019). lantaran itu, ia menyesalkan tindakan sejumlah importir serta adanya keterlibatan anggota komisi vi dpr ri dalam kasus ini. sebab, kata dia, rekomendasi impor bawang putih memiliki persyaratan yang tidak terlalu sulit, sehingga bisa diurus dengan mudah jika importir mengikuti segala ketentuan yang berlaku. meski mengaku belum mengetahui secara detail dan bagaimana perkembangan kasus tersebut, ia juga memastikan bahwa perusahaan yang terlibat bakal masukdari direktori importir.')]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results1[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('segmentation-news.json', 'w') as fopen:\n",
    "    json.dump(results1, fopen)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(files[2]) as fopen:\n",
    "    data = fopen.read().split('\\n')\n",
    "\n",
    "results, result = [], []\n",
    "for i in data:\n",
    "    if len(i) and i[-1] != '.':\n",
    "        i = i + '.'\n",
    "    if not len(i) and len(result):\n",
    "        results.append(result)\n",
    "        result = []\n",
    "    else:\n",
    "        if len(i):\n",
    "            result.append(i)\n",
    "        \n",
    "if len(result):\n",
    "    results.append(result)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "17836"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "results = random.sample(results, 10000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 625/625 [00:00<00:00, 3741.84it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3800.85it/s]\n",
      "  0%|          | 0/625 [00:00<?, ?it/s]3589.76it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3702.27it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3378.70it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3496.19it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3506.20it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3040.89it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3725.26it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3347.28it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 4457.81it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3535.61it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3665.87it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 4000.45it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3239.50it/s]\n",
      "100%|██████████| 625/625 [00:00<00:00, 3070.78it/s]\n"
     ]
    }
   ],
   "source": [
    "results1 = cleaning.multiprocessing(results, loop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('Nenek manjakan adik Aku yatim piatu. Tinggal dengan nenek dan adik. Nenek aku terlalu manjakan adik aku sampai dia makin kurang ajar. Apa sahaja adik buat nenek tak marah. Sampaikan adik mencarut pon nenek diamkan sahaja.',\n",
       "  'Nenek manjakan adik Aku yatim piatu. Tinggal dengan nenek dan adik. Nenek aku terlalu manjakan adik aku sampai dia makin kurang ajar. Apa sahaja adik buat nenek tak marah. Sampaikan adik mencarut pon nenek diamkan sahaja.'),\n",
       " ('nenek manjakan adik aku yatim piatu. tinggal dengan nenek dan adik. nenek aku terlalu manjakan adik aku sampai dia makin kurang ajar. apa sahaja adik buat nenek tak marah. sampaikan adik mencarut pon nenek diamkan sahaja.',\n",
       "  'nenek manjakan adik aku yatim piatu. tinggal dengan nenek dan adik. nenek aku terlalu manjakan adik aku sampai dia makin kurang ajar. apa sahaja adik buat nenek tak marah. sampaikan adik mencarut pon nenek diamkan sahaja.'),\n",
       " ('NenekmanjakanadikAkuyatimpiatu.Tinggaldengannenekdanadik. Nenekakuterlalumanjakanadikakusampai diamakin kurangajar.Apasahajaadikbuatnenektakmarah. Sampaikanadikmencarut ponnenek diamkansahaja.',\n",
       "  'Nenek manjakan adik Aku yatim piatu. Tinggal dengan nenek dan adik. Nenek aku terlalu manjakan adik aku sampai dia makin kurang ajar. Apa sahaja adik buat nenek tak marah. Sampaikan adik mencarut pon nenek diamkan sahaja.'),\n",
       " ('nenek manjakanadik akuyatimpiatu.tinggaldengan nenek dan adik.nenek akuterlalumanjakan adikaku sampaidiamakinkurangajar.apa sahajaadikbuatnenek takmarah.sampaikanadikmencarutponnenekdiamkansahaja.',\n",
       "  'nenek manjakan adik aku yatim piatu. tinggal dengan nenek dan adik. nenek aku terlalu manjakan adik aku sampai dia makin kurang ajar. apa sahaja adik buat nenek tak marah. sampaikan adik mencarut pon nenek diamkan sahaja.'),\n",
       " ('Nenekmanjakan adikAkuyatim piatu.Tinggaldengan nenek dan adik.Nenek akuterlalumanjakan adikaku sampaidia makinkurangajar.Apa sahajaadikbuatnenektakmarah.Sampaikanadikmencarut pon nenekdiamkan sahaja.',\n",
       "  'Nenek manjakan adik Aku yatim piatu. Tinggal dengan nenek dan adik. Nenek aku terlalu manjakan adik aku sampai dia makin kurang ajar. Apa sahaja adik buat nenek tak marah. Sampaikan adik mencarut pon nenek diamkan sahaja.'),\n",
       " ('nenekmanjakanadikaku yatimpiatu. tinggaldengannenek danadik.nenekakuterlalu manjakan adik aku sampaidiamakin kurangajar.apasahaja adikbuatnenektakmarah.sampaikan adik mencarutponnenek diamkansahaja.',\n",
       "  'nenek manjakan adik aku yatim piatu. tinggal dengan nenek dan adik. nenek aku terlalu manjakan adik aku sampai dia makin kurang ajar. apa sahaja adik buat nenek tak marah. sampaikan adik mencarut pon nenek diamkan sahaja.'),\n",
       " ('Mcm mane aku nak buat dekat adik aku ?. Mcm mane aku nak ajar dia?. Kadang-kadang rasa derhaka sebab marah nenek sebab manjakan adik. Tuhan je tahu mcm mane biadapnya adik aku.',\n",
       "  'Mcm mane aku nak buat dekat adik aku ?. Mcm mane aku nak ajar dia?. Kadang-kadang rasa derhaka sebab marah nenek sebab manjakan adik. Tuhan je tahu mcm mane biadapnya adik aku.'),\n",
       " ('mcm mane aku nak buat dekat adik aku ?. mcm mane aku nak ajar dia?. kadang-kadang rasa derhaka sebab marah nenek sebab manjakan adik. tuhan je tahu mcm mane biadapnya adik aku.',\n",
       "  'mcm mane aku nak buat dekat adik aku ?. mcm mane aku nak ajar dia?. kadang-kadang rasa derhaka sebab marah nenek sebab manjakan adik. tuhan je tahu mcm mane biadapnya adik aku.'),\n",
       " ('Mcmmane akunakbuatdekatadikaku ?. Mcm maneaku nak ajardia?.Kadang-kadang rasaderhaka sebabmarahneneksebab manjakanadik.Tuhanje tahumcmmanebiadapnyaadikaku.',\n",
       "  'Mcm mane aku nak buat dekat adik aku ?. Mcm mane aku nak ajar dia?. Kadang-kadang rasa derhaka sebab marah nenek sebab manjakan adik. Tuhan je tahu mcm mane biadapnya adik aku.'),\n",
       " ('mcmmaneakunak buatdekatadikaku ?. mcmmaneaku nakajardia?.kadang-kadangrasaderhakasebabmarahneneksebabmanjakanadik.tuhan je tahu mcm manebiadapnyaadikaku.',\n",
       "  'mcm mane aku nak buat dekat adik aku ?. mcm mane aku nak ajar dia?. kadang-kadang rasa derhaka sebab marah nenek sebab manjakan adik. tuhan je tahu mcm mane biadapnya adik aku.')]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results1[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('segmentation-iium.json', 'w') as fopen:\n",
    "    json.dump(results1, fopen)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
